1. Field of the Invention
The present invention relates to a fuzzy reasoning processor and a fuzzy reasoning processing method.
2. Description of the Background Art
When a decision and a fault diagnosis are made and automatic control of a controlled object having strong non-linearity is carried out utilizing the so-called knowhow and empirical rule of a skilled engineer or technician which are difficult to strictly represent by equations and the like, fuzzy reasoning processing has been widely used. The fuzzy reasoning processing is executed by an analog or digital processor having architecture dedicated to fuzzy reasoning processing or a general purpose digital computer so programmed as to allow a fuzzy operation.
Fuzzy reasoning processing is executed in accordance with the so-called "If . . . , then . . ." rule. Examples of the "If . . . , then . . . " rule are as follows:
Rule 1: If x1=PL and x2=PL and x4=PL, PA1 Rule 2: If x1=PL and x2=PM, PA1 Rule i: If x1=NL and x3=PM,
then y1=PL PA2 then y1=PL PA2 then y1=ZR
Here "If . . . ," is referred to as an "antecedent" and "then . . . " is referred to as a "consequent". x1, x2, x3 and x4 are input variables, and y1 is an output variable. PL, PM, NL, ZR and the like are labels of membership functions representing items of linguistic information.
A fuzzy reasoning operation is executed in the following manner.
First, in antecedent processing, the degree of conformity of input data to a corresponding membership function is found. For example, in the rule 1, the degrees of conformity a11, a12 and a14 of input data concerning the input variables x1, x2 and x4 (the input data are also expressed by reference signs x1, x2 and x4) to the membership function PL are respectively found. The degree of conformity means a value of a membership function obtained when input data is given to the membership function (a function value or a grade). A predetermined operation (a MIN operation is most commonly employed as this operation) of the degrees of conformity a11, a12 and a14 in the rule 1 is executed, and the result a1 of the operation is the degree of conformity in the rule 1.
Similarly, in the rule 2, the degree of conformity a21 of the input data x1 to the membership function PL and the degree of conformity a22 of the input data x2 to the membership function PM are respectively found. The result of a predetermined operation (a MIN operation) of the degrees of conformity a21 and a22 is the degree of conformity a2 in the rule 2.
The degree of conformity for each rule is found by the same operation processing with regard to the other rules.
A check is made to see whether or not there exist a plurality of rules having the same consequent. For example, both the rule 1 and the rule 2 have the same consequent, i.e., y1=PL. A predetermined operation (a MAX operation is most commonly employed as the operation) of the degrees of conformity is performed between such rules having the same consequent, to obtain the final degree of conformity A1.
When there exist no other rules having the same consequent, the degree of conformity for each rule is preserved without any modification.
Consequent processing is then performed. In the consequent processing, processing for exerting the degree of conformity for each rule previously obtained on a membership function described in a consequent of the rule is performed. For example, the rule 1 and the rule 2 have the same consequent, i.e., y1=PL. Since the degree of conformity in the rules 1 and 2 is A1, the degree of conformity A1 is exerted on the membership function PL in the consequent (a MIN operation of the degree of conformity A1 and the membership function PL, that is, truncation is widely performed as this operation). Furthermore, in the rule i, processing for exerting the degree of conformity ai obtained in antecedent processing with regard to the rule i on the membership function ZR in the consequent is performed.
The result of an operation for each label of a membership function in a consequent thus obtained is also one type of membership function. An operation (for example, a MAX operation) between the membership functions is executed, to obtain the final result of reasoning.
In the application of automatic control or the like, a manipulated variable given to a controlled object must be derived. Therefore, an operation of defuzzifying the final result of reasoning (referred to as determinant operation processing) is executed. Examples of the operation include a method of center of gravity and a method of maximum height. The method of center of gravity is one of calculating the position of the center of gravity of the final result of reasoning and taking the position of the center of gravity as a final output. The method of maximum height is one of determining a label of a membership function of the highest grade out of membership functions in consequents after consequent processing. This method is frequently used when fuzzy reasoning is utilized for decision making. In this case, the membership function in the consequent is often expressed by a singleton.
There is generally no limit to the order in which the above described plurality of rules are described (set). Consequently, a designer prepares and describes rules or inputs and sets the rules in a processor or a computer in an arbitrary order. Within the processor or the computer, the above described series of processing and particularly, the antecedent processing is executed in the order in which the rules are described (set).
Consequently, fuzzy reasoning processing cannot be started unless input data concerning all input variables included in a plurality of rules set are gathered. The processor or the computer confirms whether or not all input data are inputted in starting the fuzzy reasoning processing.
According to such a conventional method, long waiting time is required to start fuzzy reasoning when there are many types of input variables and when it takes long to input input data. An example of the latter case includes a case where input data are serially transmitted to a fuzzy processor from host apparatuses such as a main CPU.
In either case, a time period elapsed from the time when input data are inputted or transferred until the fuzzy reasoning processing is started (overhead) is long, thereby to reduce the entire processing efficiency.